#pragma once
#include <vulkan/vulkan.hpp>

namespace vlk
{
    class SwapChain final
    {
    public:
        vk::SwapchainKHR swapChain;
        SwapChain(int w, int h);
        ~SwapChain();

        struct SwapChainInfo
        {
            vk::Extent2D imageExtent;
            uint32_t imageCount;
            vk::SurfaceFormatKHR format;
            vk::SurfaceTransformFlagsKHR transform;
            vk::PresentModeKHR presentMode;
        };

        SwapChainInfo info;
        void queryInfo(int w, int h);
        
    };
}